package _9_博客园Redis

import (
	"fmt"
	"github.com/go-redis/redis"
)

//go get -u github.com/go-redis/redis

func main() {
	// 根据redis配置初始化一个客户端
	//go-redis包自带了连接池，会自动维护redis连接，因此创建一次client即可，不要查询一次redis就关闭client。
	client := redis.NewClient(&redis.Options{
		Addr:     "localhost:6379", // redis地址
		Password: "123456",         // redis密码，没有则留空
		DB:       0,                // 默认数据库，默认是0
		PoolSize: 20,               // 连接池大小
	})

	//ping
	client.Do("ping")

	// 设置一个key，过期时间为0，意思就是永远不过期
	err := client.Set("key", "value", 0).Err()

	// 检测设置是否成功
	if err != nil {
		panic(err)
	}

	// 根据key查询缓存，通过Result函数返回两个值
	//  第一个代表key的值，第二个代表查询错误信息
	val, err := client.Get("key").Result()

	// 检测，查询是否出错
	if err != nil {
		panic(err)
	}
	fmt.Println("key", val)
}
